/*
 * This file is part of the Boring Engine API.
 *
 * Copyright (c) 2011 by pf5234 <pf5234@users.sourceforge.net>.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */

package com.googlecode.boringengine;

/**
 * Logging system used to log messages.
 * @author pf5234
 */
public class Log {

    /**
     * Logs a warning.
     * @param warn a string format
     * @param args arguments referenced by the format
     * @see String#format(java.lang.String, java.lang.Object[])
     */
    public static void warn(String warn, Object... args) {}

    public static void warnException(Exception e, String warn, Object... args) {}
    
    /**
     * Logs an error.
     * @param err a string format
     * @param args arguments referenced by the format
     * @see String#format(java.lang.String, java.lang.Object[])
     */
    public static void error(String err, Object... args) {}

    public static void errorException(Exception e, String err, Object... args) {}

    /**
     * Logs a fatal error, then exits.
     * @param err a string format
     * @param args arguments referenced by the format
     * @see String#format(java.lang.String, java.lang.Object[])
     */
    public static void fatal(String err, Object... args) {}

    /**
     * Logs a fatal exception, then exits.
     * @param e the exception that is fatal
     * @param err a string format
     * @param args arguments referenced by the format
     * @see String#format(java.lang.String, java.lang.Object[])
     */
    public static void fatalException(Exception e, String err, Object... args) {}

    /**
     * Logs some information.
     * @param info a string format
     * @param args arguments referenced by the format
     * @see String#format(java.lang.String, java.lang.Object[])
     */
    public static void info(String info, Object... args) {}

    /**
     * Logs an debugging message.
     * Does nothing if {@link Main#DEBUG} is false.
     * @param deb a string format
     * @param args arguments referenced by the format
     * @see String#format(java.lang.String, java.lang.Object[])
     */
    public static void debug(String deb, Object... args) {}

    /**
     * Logs an debugging message and traces the calling methods.
     * Does nothing if {@link Main#DEBUG} is false.
     * @param deb a string format
     * @param args arguments referenced by the format
     * @see String#format(java.lang.String, java.lang.Object[])
     */
    public static void debugTrace(String deb, Object... args) {}

    /**
     * Returns an alphabetical-friendly string composed of the current date and time.
     * @return a string containing the date and time in the form 'yyyymmddhhmmss'
     * @see Util#getDateTime()
     * @deprecated moved to Util
     */
    @Deprecated
    public static String getDateTime() {
        return null;
    }

    private Log() {}
}
